home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 May / CMCD0504.ISO / Software / Freeware / Programare / dspack / DSPACK231.exe / {app} / src / DirectX9 / DXFile.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2002-12-10  |  37.4 KB  |  655 lines

  1. {******************************************************************************}
  2. {*                                                                            *}
  3. {*  Copyright (C) 1999 Microsoft Corporation.  All Rights Reserved.           *}
  4. {*                                                                            *}
  5. {*  File:       dxfile.h, rmxfguid.h, rmxftmpl.h                              *}
  6. {*  Content:    Interfaces to access Rendermorthics eXtensible file format    *}
  7. {*                                                                            *}
  8. {*  XFile Delphi adaptation by Alexey Barkovoy                                *}
  9. {*  E-Mail: clootie@reactor.ru                                                *}
  10. {*                                                                            *}
  11. {*  Modified: 10-Dec-2002                                                     *}
  12. {*                                                                            *}
  13. {*  Partly based upon :                                                       *}
  14. {*    DirectX 7.0 Delphi adaptation by                                        *}
  15. {*      Erik Unger, e-Mail: DelphiDirectX@next-reality.com                    *}
  16. {*                                                                            *}
  17. {*  Latest version can be downloaded from:                                    *}
  18. {*     http://clootie.narod.ru/delphi/                                        *}
  19. {*                                                                            *}
  20. {*  This File contains interfaces to access Rendermorthics eXtensible file    *}
  21. {*  known as 'X-file'. Also this file contains GUID's and templates from      *}
  22. {*  Direct3D Retained mode "rmxfguid.h" and "rmxftmpl.h" (they are used by    *}
  23. {*  Direct3D8 Immediate mode samples).                                        *}
  24. {*                                                                            *}
  25. {******************************************************************************}
  26. {                                                                              }
  27. { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
  28. {                                                                              }
  29. { The contents of this file are used with permission, subject to the Mozilla   }
  30. { Public License Version 1.1 (the "License"); you may not use this file except }
  31. { in compliance with the License. You may obtain a copy of the License at      }
  32. { http://www.mozilla.org/MPL/MPL-1.1.html                                      }
  33. {                                                                              }
  34. { Software distributed under the License is distributed on an "AS IS" basis,   }
  35. { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
  36. { the specific language governing rights and limitations under the License.    }
  37. {                                                                              }
  38. { Alternatively, the contents of this file may be used under the terms of the  }
  39. { GNU Lesser General Public License (the  "LGPL License"), in which case the   }
  40. { provisions of the LGPL License are applicable instead of those above.        }
  41. { If you wish to allow use of your version of this file only under the terms   }
  42. { of the LGPL License and not to allow others to use your version of this file }
  43. { under the MPL, indicate your decision by deleting  the provisions above and  }
  44. { replace  them with the notice and other provisions required by the LGPL      }
  45. { License.  If you do not delete the provisions above, a recipient may use     }
  46. { your version of this file under either the MPL or the LGPL License.          }
  47. {                                                                              }
  48. { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
  49. {                                                                              }
  50. {******************************************************************************}
  51.  
  52. {$I DirectX.inc}
  53.  
  54. unit DXFile;
  55.  
  56. interface
  57.  
  58. (*$HPPEMIT '#include "dxfile.h"'{*)
  59. (*$HPPEMIT '#include "rmxfguid.h"'{*)
  60. (*$HPPEMIT '#include "rmxftmpl.h"'{*)
  61.  
  62. uses Windows;
  63.  
  64. (***************************************************************************
  65. {*
  66. {*  Copyright (C) 1998-1999 Microsoft Corporation.  All Rights Reserved.
  67. {*
  68. {*  File:       dxfile.h
  69. {*
  70. {*  Content:    DirectX File public header file
  71. {*
  72. {***************************************************************************)
  73.  
  74. type
  75.   DXFILEFORMAT = DWORD;
  76.   {$EXTERNALSYM DXFILEFORMAT}
  77.   TDXFileFormat = DXFILEFORMAT;
  78.  
  79. const
  80.   DXFILEFORMAT_BINARY     = 0;
  81.   {$EXTERNALSYM DXFILEFORMAT_BINARY}
  82.   DXFILEFORMAT_TEXT       = 1;
  83.   {$EXTERNALSYM DXFILEFORMAT_TEXT}
  84.   DXFILEFORMAT_COMPRESSED = 2;
  85.   {$EXTERNALSYM DXFILEFORMAT_COMPRESSED}
  86.  
  87. type
  88.   DXFILELOADOPTIONS = {$IFDEF TYPE_IDENTITY}type {$ENDIF}DWord;
  89.   {$EXTERNALSYM DXFILELOADOPTIONS}
  90.   TDXFileLoadOptions = DXFILELOADOPTIONS;
  91.  
  92. const
  93.   DXFILELOAD_FROMFILE           = $00;
  94.   {$EXTERNALSYM DXFILELOAD_FROMFILE}
  95.   DXFILELOAD_FROMRESOURCE       = $01;
  96.   {$EXTERNALSYM DXFILELOAD_FROMRESOURCE}
  97.   DXFILELOAD_FROMMEMORY         = $02;
  98.   {$EXTERNALSYM DXFILELOAD_FROMMEMORY}
  99.   DXFILELOAD_FROMSTREAM         = $04;
  100.   {$EXTERNALSYM DXFILELOAD_FROMSTREAM}
  101.   DXFILELOAD_FROMURL            = $08;
  102.   {$EXTERNALSYM DXFILELOAD_FROMURL}
  103.  
  104. type
  105.   PDXFileLoadResource = ^TDXFileLoadResource;
  106.   _DXFILELOADRESOURCE = packed record
  107.     hModule: HModule;
  108.     lpName: PChar;
  109.     lpType: PChar;
  110.   end;
  111.   {$EXTERNALSYM _DXFILELOADRESOURCE}
  112.   DXFILELOADRESOURCE = _DXFILELOADRESOURCE;
  113.   {$EXTERNALSYM DXFILELOADRESOURCE}
  114.   TDXFileLoadResource = _DXFILELOADRESOURCE;
  115.  
  116.   PDXFileLoadMemory = ^TDXFileLoadMemory;
  117.   _DXFILELOADMEMORY = packed record
  118.     lpMemory: Pointer;
  119.     dSize: DWord;
  120.   end;
  121.   {$EXTERNALSYM _DXFILELOADMEMORY}
  122.   DXFILELOADMEMORY = _DXFILELOADMEMORY;
  123.   {$EXTERNALSYM DXFILELOADMEMORY}
  124.   TDXFileLoadMemory = _DXFILELOADMEMORY;
  125.  
  126. (*
  127. {* DirectX File object types.
  128. {*)
  129.  
  130. type
  131.   IDirectXFile = interface;
  132.   {$EXTERNALSYM IDirectXFile}
  133.   {$HPPEMIT 'typedef System::DelphiInterface<IDirectXFile> _di_IDirectXFile;'}
  134.   IDirectXFileEnumObject = interface;
  135.   {$EXTERNALSYM IDirectXFileEnumObject}
  136.   {$HPPEMIT 'typedef System::DelphiInterface<IDirectXFileEnumObject> _di_IDirectXFileEnumObject;'}
  137.   IDirectXFileSaveObject = interface;
  138.   {$EXTERNALSYM IDirectXFileSaveObject}
  139.   {$HPPEMIT 'typedef System::DelphiInterface<IDirectXFileSaveObject> _di_IDirectXFileSaveObject;'}
  140.   IDirectXFileObject = interface;
  141.   {$EXTERNALSYM IDirectXFileObject}
  142.   {$HPPEMIT 'typedef System::DelphiInterface<IDirectXFileObject> _di_IDirectXFileObject;'}
  143.   IDirectXFileData = interface;
  144.   {$EXTERNALSYM IDirectXFileData}
  145.   {$HPPEMIT 'typedef System::DelphiInterface<IDirectXFileData> _di_IDirectXFileData;'}
  146.   IDirectXFileDataReference = interface;
  147.   {$EXTERNALSYM IDirectXFileDataReference}
  148.   {$HPPEMIT 'typedef System::DelphiInterface<IDirectXFileDataReference> _di_IDirectXFileDataReference;'}
  149.   IDirectXFileBinary = interface;
  150.   {$EXTERNALSYM IDirectXFileBinary}
  151.   {$HPPEMIT 'typedef System::DelphiInterface<IDirectXFileBinary> _di_IDirectXFileBinary;'}
  152.  
  153. (*
  154. {* DirectX File interfaces.
  155. {*)
  156.  
  157.   IDirectXFile = interface(IUnknown)
  158.     ['{3d82ab40-62da-11cf-ab39-0020af71e433}']
  159.     function CreateEnumObject (pvSource: Pointer;
  160.         dwLoadOptions: TDXFileLoadOptions;
  161.         var ppEnumObj: IDirectXFileEnumObject): HResult; stdcall;
  162.     function CreateSaveObject (szFileName: PChar; dwFileFormat: TDXFileFormat;
  163.         var ppSaveObj: IDirectXFileSaveObject): HResult; stdcall;
  164.     function RegisterTemplates (pvData: Pointer; cbSize: DWORD): HResult; stdcall;
  165.   end;
  166.  
  167.   IDirectXFileEnumObject = interface (IUnknown)
  168.     ['{3d82ab41-62da-11cf-ab39-0020af71e433}']
  169.     function GetNextDataObject (var ppDataObj: IDirectXFileData) : HResult; stdcall;
  170.     function GetDataObjectById
  171.         (const rguid: TGUID; var ppDataObj: IDirectXFileData) : HResult; stdcall;
  172.     function GetDataObjectByName
  173.         (szName: PChar; var ppDataObj: IDirectXFileData) : HResult; stdcall;
  174.   end;
  175.  
  176.   IDirectXFileSaveObject = interface (IUnknown)
  177.     ['{3d82ab42-62da-11cf-ab39-0020af71e433}']
  178.     function SaveTemplates
  179.         (cTemplates: DWORD; var ppguidTemplates: PGUID) : HResult; stdcall;
  180.     function CreateDataObject (const rguidTemplate: TGUID; szName: PChar;
  181.         pguid: PGUID; cbSize: DWORD; pvData: Pointer;
  182.         var ppDataObj: IDirectXFileData) : HResult; stdcall;
  183.     function SaveData (pDataObj: IDirectXFileData) : HResult; stdcall;
  184.   end;
  185.  
  186.   IDirectXFileObject = interface (IUnknown)
  187.     ['{3d82ab43-62da-11cf-ab39-0020af71e433}']
  188.     function GetName (pstrNameBuf: PChar; var dwBufLen: DWORD) : HResult; stdcall;
  189.     function GetId (var pGuidBuf: TGUID) : HResult; stdcall;
  190.   end;
  191.  
  192.   IDirectXFileData = interface (IDirectXFileObject)
  193.     ['{3d82ab44-62da-11cf-ab39-0020af71e433}']
  194.     function GetData
  195.         (szMember: PChar; var pcbSize: DWORD; var ppvData: Pointer) : HResult; stdcall;
  196.     function GetType (var ppguid: PGUID) : HResult; stdcall;
  197.     function GetNextObject (var ppChildObj: IDirectXFileObject) : HResult; stdcall;
  198.     function AddDataObject (pDataObj: IDirectXFileData) : HResult; stdcall;
  199.     function AddDataReference (szRef: PChar; pguidRef: PGUID) : HResult; stdcall;
  200.     function AddBinaryObject (szName: PChar; pguid: PGUID; szMimeType: PChar;
  201.         pvData: Pointer; cbSize: DWORD) : HResult; stdcall;
  202.   end;
  203.  
  204.   IDirectXFileDataReference = interface (IDirectXFileObject)
  205.     ['{3d82ab45-62da-11cf-ab39-0020af71e433}']
  206.     function Resolve (var ppDataObj: IDirectXFileData) : HResult; stdcall;
  207.   end;
  208.  
  209.   IDirectXFileBinary = interface (IDirectXFileObject)
  210.     ['{3d82ab46-62da-11cf-ab39-0020af71e433}']
  211.     function GetSize (var pcbSize: DWORD) : HResult; stdcall;
  212.     function GetMimeType (var pszMimeType: PChar) : HResult; stdcall;
  213.     function Read(pvData: Pointer; cbSize: DWORD; pcbRead: PDWORD{?}) : HResult; stdcall;
  214.   end;
  215.  
  216.  
  217. (*
  218. {* DirectXFile Object Class Id (for CoCreateInstance())
  219. {*)
  220.  
  221. const
  222.   CLSID_CDirectXFile: TGUID =
  223.        (D1:$4516ec43;D2:$8f20;D3:$11d0;D4:($9b,$6d,$00,$00,$c0,$78,$1b,$c3));
  224.   {$EXTERNALSYM CLSID_CDirectXFile}
  225.  
  226. (*
  227. {* DirectX File Interface GUIDs.
  228. {*)
  229.  
  230. type
  231.   IID_IDirectXFile               = IDirectXFile;
  232.   {$EXTERNALSYM IID_IDirectXFile}
  233.   IID_IDirectXFileEnumObject     = IDirectXFileEnumObject;
  234.   {$EXTERNALSYM IID_IDirectXFileEnumObject}
  235.   IID_IDirectXFileSaveObject     = IDirectXFileSaveObject;
  236.   {$EXTERNALSYM IID_IDirectXFileSaveObject}
  237.   IID_IDirectXFileObject         = IDirectXFileObject;
  238.   {$EXTERNALSYM IID_IDirectXFileObject}
  239.   IID_IDirectXFileData           = IDirectXFileData;
  240.   {$EXTERNALSYM IID_IDirectXFileData}
  241.   IID_IDirectXFileDataReference  = IDirectXFileDataReference;
  242.   {$EXTERNALSYM IID_IDirectXFileDataReference}
  243.   IID_IDirectXFileBinary         = IDirectXFileBinary;
  244.   {$EXTERNALSYM IID_IDirectXFileBinary}
  245.  
  246. (*
  247. {* DirectX File Header template's GUID.
  248. {*)
  249.  
  250. const
  251.   TID_DXFILEHeader: TGUID =
  252.       (D1:$3d82ab43;D2:$62da;D3:$11cf;D4:($ab,$39,$00,$20,$af,$71,$e4,$33));
  253.   {$EXTERNALSYM TID_DXFILEHeader}
  254.  
  255. (*
  256. {* DirectX File errors.
  257. {*)
  258.  
  259. const
  260.   _FACD3D = $876;
  261.   {$EXTERNALSYM _FACD3D}
  262.  
  263. // #define MAKE_DDHRESULT( code )  MAKE_HRESULT( 1, _FACDD, code )
  264. function MAKE_DDHRESULT(Code: DWord): DWord;
  265. {$EXTERNALSYM MAKE_DDHRESULT}
  266.  
  267. const
  268.   MAKE_DDHRESULT_D     = (1 shl 31) or (_FACD3D shl 16);
  269.  
  270.   DXFILE_OK                           = 0;
  271.   {$EXTERNALSYM DXFILE_OK}
  272.  
  273.   DXFILEERR_BADOBJECT                 = HResult(MAKE_DDHRESULT_D or 850);
  274.   {$EXTERNALSYM DXFILEERR_BADOBJECT}
  275.   DXFILEERR_BADVALUE                  = HResult(MAKE_DDHRESULT_D or 851);
  276.   {$EXTERNALSYM DXFILEERR_BADVALUE}
  277.   DXFILEERR_BADTYPE                   = HResult(MAKE_DDHRESULT_D or 852);
  278.   {$EXTERNALSYM DXFILEERR_BADTYPE}
  279.   DXFILEERR_BADSTREAMHANDLE           = HResult(MAKE_DDHRESULT_D or 853);
  280.   {$EXTERNALSYM DXFILEERR_BADSTREAMHANDLE}
  281.   DXFILEERR_BADALLOC                  = HResult(MAKE_DDHRESULT_D or 854);
  282.   {$EXTERNALSYM DXFILEERR_BADALLOC}
  283.   DXFILEERR_NOTFOUND                  = HResult(MAKE_DDHRESULT_D or 855);
  284.   {$EXTERNALSYM DXFILEERR_NOTFOUND}
  285.   DXFILEERR_NOTDONEYET                = HResult(MAKE_DDHRESULT_D or 856);
  286.   {$EXTERNALSYM DXFILEERR_NOTDONEYET}
  287.   DXFILEERR_FILENOTFOUND              = HResult(MAKE_DDHRESULT_D or 857);
  288.   {$EXTERNALSYM DXFILEERR_FILENOTFOUND}
  289.   DXFILEERR_RESOURCENOTFOUND          = HResult(MAKE_DDHRESULT_D or 858);
  290.   {$EXTERNALSYM DXFILEERR_RESOURCENOTFOUND}
  291.   DXFILEERR_URLNOTFOUND               = HResult(MAKE_DDHRESULT_D or 859);
  292.   {$EXTERNALSYM DXFILEERR_URLNOTFOUND}
  293.   DXFILEERR_BADRESOURCE               = HResult(MAKE_DDHRESULT_D or 860);
  294.   {$EXTERNALSYM DXFILEERR_BADRESOURCE}
  295.   DXFILEERR_BADFILETYPE               = HResult(MAKE_DDHRESULT_D or 861);
  296.   {$EXTERNALSYM DXFILEERR_BADFILETYPE}
  297.   DXFILEERR_BADFILEVERSION            = HResult(MAKE_DDHRESULT_D or 862);
  298.   {$EXTERNALSYM DXFILEERR_BADFILEVERSION}
  299.   DXFILEERR_BADFILEFLOATSIZE          = HResult(MAKE_DDHRESULT_D or 863);
  300.   {$EXTERNALSYM DXFILEERR_BADFILEFLOATSIZE}
  301.   DXFILEERR_BADFILECOMPRESSIONTYPE    = HResult(MAKE_DDHRESULT_D or 864);
  302.   {$EXTERNALSYM DXFILEERR_BADFILECOMPRESSIONTYPE}
  303.   DXFILEERR_BADFILE                   = HResult(MAKE_DDHRESULT_D or 865);
  304.   {$EXTERNALSYM DXFILEERR_BADFILE}
  305.   DXFILEERR_PARSEERROR                = HResult(MAKE_DDHRESULT_D or 866);
  306.   {$EXTERNALSYM DXFILEERR_PARSEERROR}
  307.   DXFILEERR_NOTEMPLATE                = HResult(MAKE_DDHRESULT_D or 867);
  308.   {$EXTERNALSYM DXFILEERR_NOTEMPLATE}
  309.   DXFILEERR_BADARRAYSIZE              = HResult(MAKE_DDHRESULT_D or 868);
  310.   {$EXTERNALSYM DXFILEERR_BADARRAYSIZE}
  311.   DXFILEERR_BADDATAREFERENCE          = HResult(MAKE_DDHRESULT_D or 869);
  312.   {$EXTERNALSYM DXFILEERR_BADDATAREFERENCE}
  313.   DXFILEERR_INTERNALERROR             = HResult(MAKE_DDHRESULT_D or 870);
  314.   {$EXTERNALSYM DXFILEERR_INTERNALERROR}
  315.   DXFILEERR_NOMOREOBJECTS             = HResult(MAKE_DDHRESULT_D or 871);
  316.   {$EXTERNALSYM DXFILEERR_NOMOREOBJECTS}
  317.   DXFILEERR_BADINTRINSICS             = HResult(MAKE_DDHRESULT_D or 872);
  318.   {$EXTERNALSYM DXFILEERR_BADINTRINSICS}
  319.   DXFILEERR_NOMORESTREAMHANDLES       = HResult(MAKE_DDHRESULT_D or 873);
  320.   {$EXTERNALSYM DXFILEERR_NOMORESTREAMHANDLES}
  321.   DXFILEERR_NOMOREDATA                = HResult(MAKE_DDHRESULT_D or 874);
  322.   {$EXTERNALSYM DXFILEERR_NOMOREDATA}
  323.   DXFILEERR_BADCACHEFILE              = HResult(MAKE_DDHRESULT_D or 875);
  324.   {$EXTERNALSYM DXFILEERR_BADCACHEFILE}
  325.   DXFILEERR_NOINTERNET                = HResult(MAKE_DDHRESULT_D or 876);
  326.   {$EXTERNALSYM DXFILEERR_NOINTERNET}
  327.  
  328. (*
  329. {* API for creating IDirectXFile interface.
  330. {*)
  331.  
  332. function DirectXFileCreate(out lplpDirectXFile: IDirectXFile): HResult; stdcall;
  333. {$EXTERNALSYM DirectXFileCreate}
  334.  
  335.  
  336.  
  337. (***************************************************************************
  338. {*
  339. {*  Copyright (C) 1998-1999 Microsoft Corporation.  All Rights Reserved.
  340. {*
  341. {*  File:       rmxfguid.h
  342. {*
  343. {*  Content:    Defines GUIDs of D3DRM's templates.
  344. {*
  345. {***************************************************************************)
  346.  
  347. const
  348.   TID_D3DRMInfo: TGUID                  = '{2B957100-9E9A-11cf-AB39-0020AF71E433}';
  349.   {$EXTERNALSYM TID_D3DRMInfo}
  350.   TID_D3DRMMesh: TGUID                  = '{3D82AB44-62DA-11cf-AB39-0020AF71E433}';
  351.   {$EXTERNALSYM TID_D3DRMMesh}
  352.   TID_D3DRMVector: TGUID                = '{3D82AB5E-62DA-11cf-AB39-0020AF71E433}';
  353.   {$EXTERNALSYM TID_D3DRMVector}
  354.   TID_D3DRMMeshFace: TGUID              = '{3D82AB5F-62DA-11cf-AB39-0020AF71E433}';
  355.   {$EXTERNALSYM TID_D3DRMMeshFace}
  356.   TID_D3DRMMaterial: TGUID              = '{3D82AB4D-62DA-11cf-AB39-0020AF71E433}';
  357.   {$EXTERNALSYM TID_D3DRMMaterial}
  358.   TID_D3DRMMaterialArray: TGUID         = '{35FF44E1-6C7C-11cf-8F52-0040333594A3}';
  359.   {$EXTERNALSYM TID_D3DRMMaterialArray}
  360.   TID_D3DRMFrame: TGUID                 = '{3D82AB46-62DA-11cf-AB39-0020AF71E433}';
  361.   {$EXTERNALSYM TID_D3DRMFrame}
  362.   TID_D3DRMFrameTransformMatrix: TGUID  = '{F6F23F41-7686-11cf-8F52-0040333594A3}';
  363.   {$EXTERNALSYM TID_D3DRMFrameTransformMatrix}
  364.   TID_D3DRMMeshMaterialList: TGUID      = '{F6F23F42-7686-11cf-8F52-0040333594A3}';
  365.   {$EXTERNALSYM TID_D3DRMMeshMaterialList}
  366.   TID_D3DRMMeshTextureCoords: TGUID     = '{F6F23F40-7686-11cf-8F52-0040333594A3}';
  367.   {$EXTERNALSYM TID_D3DRMMeshTextureCoords}
  368.   TID_D3DRMMeshNormals: TGUID           = '{F6F23F43-7686-11cf-8F52-0040333594A3}';
  369.   {$EXTERNALSYM TID_D3DRMMeshNormals}
  370.   TID_D3DRMCoords2d: TGUID              = '{F6F23F44-7686-11cf-8F52-0040333594A3}';
  371.   {$EXTERNALSYM TID_D3DRMCoords2d}
  372.   TID_D3DRMMatrix4x4: TGUID             = '{F6F23F45-7686-11cf-8F52-0040333594A3}';
  373.   {$EXTERNALSYM TID_D3DRMMatrix4x4}
  374.   TID_D3DRMAnimation: TGUID             = '{3D82AB4F-62DA-11cf-AB39-0020AF71E433}';
  375.   {$EXTERNALSYM TID_D3DRMAnimation}
  376.   TID_D3DRMAnimationSet: TGUID          = '{3D82AB50-62DA-11cf-AB39-0020AF71E433}';
  377.   {$EXTERNALSYM TID_D3DRMAnimationSet}
  378.   TID_D3DRMAnimationKey: TGUID          = '{10DD46A8-775B-11cf-8F52-0040333594A3}';
  379.   {$EXTERNALSYM TID_D3DRMAnimationKey}
  380.   TID_D3DRMFloatKeys: TGUID             = '{10DD46A9-775B-11cf-8F52-0040333594A3}';
  381.   {$EXTERNALSYM TID_D3DRMFloatKeys}
  382.   TID_D3DRMMaterialAmbientColor: TGUID  = '{01411840-7786-11cf-8F52-0040333594A3}';
  383.   {$EXTERNALSYM TID_D3DRMMaterialAmbientColor}
  384.   TID_D3DRMMaterialDiffuseColor: TGUID  = '{01411841-7786-11cf-8F52-0040333594A3}';
  385.   {$EXTERNALSYM TID_D3DRMMaterialDiffuseColor}
  386.   TID_D3DRMMaterialSpecularColor: TGUID = '{01411842-7786-11cf-8F52-0040333594A3}';
  387.   {$EXTERNALSYM TID_D3DRMMaterialSpecularColor}
  388.   TID_D3DRMMaterialEmissiveColor: TGUID = '{D3E16E80-7835-11cf-8F52-0040333594A3}';
  389.   {$EXTERNALSYM TID_D3DRMMaterialEmissiveColor}
  390.   TID_D3DRMMaterialPower: TGUID         = '{01411843-7786-11cf-8F52-0040333594A3}';
  391.   {$EXTERNALSYM TID_D3DRMMaterialPower}
  392.   TID_D3DRMColorRGBA: TGUID             = '{35FF44E0-6C7C-11cf-8F52-0040333594A3}';
  393.   {$EXTERNALSYM TID_D3DRMColorRGBA}
  394.   TID_D3DRMColorRGB: TGUID              = '{D3E16E81-7835-11cf-8F52-0040333594A3}';
  395.   {$EXTERNALSYM TID_D3DRMColorRGB}
  396.   TID_D3DRMGuid: TGUID                  = '{A42790E0-7810-11cf-8F52-0040333594A3}';
  397.   {$EXTERNALSYM TID_D3DRMGuid}
  398.   TID_D3DRMTextureFilename: TGUID       = '{A42790E1-7810-11cf-8F52-0040333594A3}';
  399.   {$EXTERNALSYM TID_D3DRMTextureFilename}
  400.   TID_D3DRMTextureReference: TGUID      = '{A42790E2-7810-11cf-8F52-0040333594A3}';
  401.   {$EXTERNALSYM TID_D3DRMTextureReference}
  402.   TID_D3DRMIndexedColor: TGUID          = '{1630B820-7842-11cf-8F52-0040333594A3}';
  403.   {$EXTERNALSYM TID_D3DRMIndexedColor}
  404.   TID_D3DRMMeshVertexColors: TGUID      = '{1630B821-7842-11cf-8F52-0040333594A3}';
  405.   {$EXTERNALSYM TID_D3DRMMeshVertexColors}
  406.   TID_D3DRMMaterialWrap: TGUID          = '{4885AE60-78E8-11cf-8F52-0040333594A3}';
  407.   {$EXTERNALSYM TID_D3DRMMaterialWrap}
  408.   TID_D3DRMBoolean: TGUID               = '{537DA6A0-CA37-11d0-941C-0080C80CFA7B}';
  409.   {$EXTERNALSYM TID_D3DRMBoolean}
  410.   TID_D3DRMMeshFaceWraps: TGUID         = '{ED1EC5C0-C0A8-11d0-941C-0080C80CFA7B}';
  411.   {$EXTERNALSYM TID_D3DRMMeshFaceWraps}
  412.   TID_D3DRMBoolean2d: TGUID             = '{4885AE63-78E8-11cf-8F52-0040333594A3}';
  413.   {$EXTERNALSYM TID_D3DRMBoolean2d}
  414.   TID_D3DRMTimedFloatKeys: TGUID        = '{F406B180-7B3B-11cf-8F52-0040333594A3}';
  415.   {$EXTERNALSYM TID_D3DRMTimedFloatKeys}
  416.   TID_D3DRMAnimationOptions: TGUID      = '{E2BF56C0-840F-11cf-8F52-0040333594A3}';
  417.   {$EXTERNALSYM TID_D3DRMAnimationOptions}
  418.   TID_D3DRMFramePosition: TGUID         = '{E2BF56C1-840F-11cf-8F52-0040333594A3}';
  419.   {$EXTERNALSYM TID_D3DRMFramePosition}
  420.   TID_D3DRMFrameVelocity: TGUID         = '{E2BF56C2-840F-11cf-8F52-0040333594A3}';
  421.   {$EXTERNALSYM TID_D3DRMFrameVelocity}
  422.   TID_D3DRMFrameRotation: TGUID         = '{E2BF56C3-840F-11cf-8F52-0040333594A3}';
  423.   {$EXTERNALSYM TID_D3DRMFrameRotation}
  424.   TID_D3DRMLight: TGUID                 = '{3D82AB4A-62DA-11cf-AB39-0020AF71E433}';
  425.   {$EXTERNALSYM TID_D3DRMLight}
  426.   TID_D3DRMCamera: TGUID                = '{3D82AB51-62DA-11cf-AB39-0020AF71E433}';
  427.   {$EXTERNALSYM TID_D3DRMCamera}
  428.   TID_D3DRMAppData: TGUID               = '{E5745280-B24F-11cf-9DD5-00AA00A71A2F}';
  429.   {$EXTERNALSYM TID_D3DRMAppData}
  430.   TID_D3DRMLightUmbra: TGUID            = '{AED22740-B31F-11cf-9DD5-00AA00A71A2F}';
  431.   {$EXTERNALSYM TID_D3DRMLightUmbra}
  432.   TID_D3DRMLightRange: TGUID            = '{AED22742-B31F-11cf-9DD5-00AA00A71A2F}';
  433.   {$EXTERNALSYM TID_D3DRMLightRange}
  434.   TID_D3DRMLightPenumbra: TGUID         = '{AED22741-B31F-11cf-9DD5-00AA00A71A2F}';
  435.   {$EXTERNALSYM TID_D3DRMLightPenumbra}
  436.   TID_D3DRMLightAttenuation: TGUID      = '{A8A98BA0-C5E5-11cf-B941-0080C80CFA7B}';
  437.   {$EXTERNALSYM TID_D3DRMLightAttenuation}
  438.   TID_D3DRMInlineData: TGUID            = '{3A23EEA0-94B1-11d0-AB39-0020AF71E433}';
  439.   {$EXTERNALSYM TID_D3DRMInlineData}
  440.   TID_D3DRMUrl: TGUID                   = '{3A23EEA1-94B1-11d0-AB39-0020AF71E433}';
  441.   {$EXTERNALSYM TID_D3DRMUrl}
  442.   TID_D3DRMProgressiveMesh: TGUID       = '{8A63C360-997D-11d0-941C-0080C80CFA7B}';
  443.   {$EXTERNALSYM TID_D3DRMProgressiveMesh}
  444.   TID_D3DRMExternalVisual: TGUID        = '{98116AA0-BDBA-11d1-82C0-00A0C9697271}';
  445.   {$EXTERNALSYM TID_D3DRMExternalVisual}
  446.   TID_D3DRMStringProperty: TGUID        = '{7F0F21E0-BFE1-11d1-82C0-00A0C9697271}';
  447.   {$EXTERNALSYM TID_D3DRMStringProperty}
  448.   TID_D3DRMPropertyBag: TGUID           = '{7F0F21E1-BFE1-11d1-82C0-00A0C9697271}';
  449.   {$EXTERNALSYM TID_D3DRMPropertyBag}
  450.   TID_D3DRMRightHanded: TGUID           = '{7F5D5EA0-D53A-11d1-82C0-00A0C9697271}';
  451.   {$EXTERNALSYM TID_D3DRMRightHanded}
  452.  
  453.  
  454.  
  455. (*==========================================================================;
  456. {*
  457. {*  Copyright (C) 1995-1997 Microsoft Corporation.  All Rights Reserved.
  458. {*
  459. {*  File:       rmxftmpl.h
  460. {*  Content:    D3DRM XFile templates in binary form
  461. {*
  462. {***************************************************************************)
  463.  
  464. const
  465.   D3DRM_XTEMPLATE_BYTES  = 3278;
  466.   {$EXTERNALSYM D3DRM_XTEMPLATE_BYTES}
  467.  
  468.   {$EXTERNALSYM D3DRM_XTEMPLATES}
  469.   D3DRM_XTEMPLATES: array [0..D3DRM_XTEMPLATE_BYTES-1] of byte = (
  470.         $78, $6f, $66, $20, $30, $33, $30, $32, $62, $69, $6e, $20, $30, $30, $36, $34, $1f, 0, $1,
  471.         0, $6, 0, 0, 0, $48, $65, $61, $64, $65, $72, $a, 0, $5, 0, $43, $ab, $82, $3d, $da,
  472.         $62, $cf, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $28, 0, $1, 0, $5, 0, 0, 0, $6d,
  473.         $61, $6a, $6f, $72, $14, 0, $28, 0, $1, 0, $5, 0, 0, 0, $6d, $69, $6e, $6f, $72, $14,
  474.         0, $29, 0, $1, 0, $5, 0, 0, 0, $66, $6c, $61, $67, $73, $14, 0, $b, 0, $1f, 0,
  475.         $1, 0, $6, 0, 0, 0, $56, $65, $63, $74, $6f, $72, $a, 0, $5, 0, $5e, $ab, $82, $3d,
  476.         $da, $62, $cf, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $2a, 0, $1, 0, $1, 0, 0, 0,
  477.         $78, $14, 0, $2a, 0, $1, 0, $1, 0, 0, 0, $79, $14, 0, $2a, 0, $1, 0, $1, 0,
  478.         0, 0, $7a, $14, 0, $b, 0, $1f, 0, $1, 0, $8, 0, 0, 0, $43, $6f, $6f, $72, $64,
  479.         $73, $32, $64, $a, 0, $5, 0, $44, $3f, $f2, $f6, $86, $76, $cf, $11, $8f, $52, 0, $40, $33,
  480.         $35, $94, $a3, $2a, 0, $1, 0, $1, 0, 0, 0, $75, $14, 0, $2a, 0, $1, 0, $1, 0,
  481.         0, 0, $76, $14, 0, $b, 0, $1f, 0, $1, 0, $9, 0, 0, 0, $4d, $61, $74, $72, $69,
  482.         $78, $34, $78, $34, $a, 0, $5, 0, $45, $3f, $f2, $f6, $86, $76, $cf, $11, $8f, $52, 0, $40,
  483.         $33, $35, $94, $a3, $34, 0, $2a, 0, $1, 0, $6, 0, 0, 0, $6d, $61, $74, $72, $69, $78,
  484.         $e, 0, $3, 0, $10, 0, 0, 0, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0, $9, 0,
  485.         0, 0, $43, $6f, $6c, $6f, $72, $52, $47, $42, $41, $a, 0, $5, 0, $e0, $44, $ff, $35, $7c,
  486.         $6c, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $2a, 0, $1, 0, $3, 0, 0, 0, $72,
  487.         $65, $64, $14, 0, $2a, 0, $1, 0, $5, 0, 0, 0, $67, $72, $65, $65, $6e, $14, 0, $2a,
  488.         0, $1, 0, $4, 0, 0, 0, $62, $6c, $75, $65, $14, 0, $2a, 0, $1, 0, $5, 0, 0,
  489.         0, $61, $6c, $70, $68, $61, $14, 0, $b, 0, $1f, 0, $1, 0, $8, 0, 0, 0, $43, $6f,
  490.         $6c, $6f, $72, $52, $47, $42, $a, 0, $5, 0, $81, $6e, $e1, $d3, $35, $78, $cf, $11, $8f, $52,
  491.         0, $40, $33, $35, $94, $a3, $2a, 0, $1, 0, $3, 0, 0, 0, $72, $65, $64, $14, 0, $2a,
  492.         0, $1, 0, $5, 0, 0, 0, $67, $72, $65, $65, $6e, $14, 0, $2a, 0, $1, 0, $4, 0,
  493.         0, 0, $62, $6c, $75, $65, $14, 0, $b, 0, $1f, 0, $1, 0, $c, 0, 0, 0, $49, $6e,
  494.         $64, $65, $78, $65, $64, $43, $6f, $6c, $6f, $72, $a, 0, $5, 0, $20, $b8, $30, $16, $42, $78,
  495.         $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $29, 0, $1, 0, $5, 0, 0, 0, $69, $6e,
  496.         $64, $65, $78, $14, 0, $1, 0, $9, 0, 0, 0, $43, $6f, $6c, $6f, $72, $52, $47, $42, $41,
  497.         $1, 0, $a, 0, 0, 0, $69, $6e, $64, $65, $78, $43, $6f, $6c, $6f, $72, $14, 0, $b, 0,
  498.         $1f, 0, $1, 0, $7, 0, 0, 0, $42, $6f, $6f, $6c, $65, $61, $6e, $a, 0, $5, 0, $a0,
  499.         $a6, $7d, $53, $37, $ca, $d0, $11, $94, $1c, 0, $80, $c8, $c, $fa, $7b, $29, 0, $1, 0, $9,
  500.         0, 0, 0, $74, $72, $75, $65, $66, $61, $6c, $73, $65, $14, 0, $b, 0, $1f, 0, $1, 0,
  501.         $9, 0, 0, 0, $42, $6f, $6f, $6c, $65, $61, $6e, $32, $64, $a, 0, $5, 0, $63, $ae, $85,
  502.         $48, $e8, $78, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $1, 0, $7, 0, 0, 0, $42,
  503.         $6f, $6f, $6c, $65, $61, $6e, $1, 0, $1, 0, 0, 0, $75, $14, 0, $1, 0, $7, 0, 0,
  504.         0, $42, $6f, $6f, $6c, $65, $61, $6e, $1, 0, $1, 0, 0, 0, $76, $14, 0, $b, 0, $1f,
  505.         0, $1, 0, $c, 0, 0, 0, $4d, $61, $74, $65, $72, $69, $61, $6c, $57, $72, $61, $70, $a,
  506.         0, $5, 0, $60, $ae, $85, $48, $e8, $78, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $1,
  507.         0, $7, 0, 0, 0, $42, $6f, $6f, $6c, $65, $61, $6e, $1, 0, $1, 0, 0, 0, $75, $14,
  508.         0, $1, 0, $7, 0, 0, 0, $42, $6f, $6f, $6c, $65, $61, $6e, $1, 0, $1, 0, 0, 0,
  509.         $76, $14, 0, $b, 0, $1f, 0, $1, 0, $f, 0, 0, 0, $54, $65, $78, $74, $75, $72, $65,
  510.         $46, $69, $6c, $65, $6e, $61, $6d, $65, $a, 0, $5, 0, $e1, $90, $27, $a4, $10, $78, $cf, $11,
  511.         $8f, $52, 0, $40, $33, $35, $94, $a3, $31, 0, $1, 0, $8, 0, 0, 0, $66, $69, $6c, $65,
  512.         $6e, $61, $6d, $65, $14, 0, $b, 0, $1f, 0, $1, 0, $8, 0, 0, 0, $4d, $61, $74, $65,
  513.         $72, $69, $61, $6c, $a, 0, $5, 0, $4d, $ab, $82, $3d, $da, $62, $cf, $11, $ab, $39, 0, $20,
  514.         $af, $71, $e4, $33, $1, 0, $9, 0, 0, 0, $43, $6f, $6c, $6f, $72, $52, $47, $42, $41, $1,
  515.         0, $9, 0, 0, 0, $66, $61, $63, $65, $43, $6f, $6c, $6f, $72, $14, 0, $2a, 0, $1, 0,
  516.         $5, 0, 0, 0, $70, $6f, $77, $65, $72, $14, 0, $1, 0, $8, 0, 0, 0, $43, $6f, $6c,
  517.         $6f, $72, $52, $47, $42, $1, 0, $d, 0, 0, 0, $73, $70, $65, $63, $75, $6c, $61, $72, $43,
  518.         $6f, $6c, $6f, $72, $14, 0, $1, 0, $8, 0, 0, 0, $43, $6f, $6c, $6f, $72, $52, $47, $42,
  519.         $1, 0, $d, 0, 0, 0, $65, $6d, $69, $73, $73, $69, $76, $65, $43, $6f, $6c, $6f, $72, $14,
  520.         0, $e, 0, $12, 0, $12, 0, $12, 0, $f, 0, $b, 0, $1f, 0, $1, 0, $8, 0, 0,
  521.         0, $4d, $65, $73, $68, $46, $61, $63, $65, $a, 0, $5, 0, $5f, $ab, $82, $3d, $da, $62, $cf,
  522.         $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $29, 0, $1, 0, $12, 0, 0, 0, $6e, $46, $61,
  523.         $63, $65, $56, $65, $72, $74, $65, $78, $49, $6e, $64, $69, $63, $65, $73, $14, 0, $34, 0, $29,
  524.         0, $1, 0, $11, 0, 0, 0, $66, $61, $63, $65, $56, $65, $72, $74, $65, $78, $49, $6e, $64,
  525.         $69, $63, $65, $73, $e, 0, $1, 0, $12, 0, 0, 0, $6e, $46, $61, $63, $65, $56, $65, $72,
  526.         $74, $65, $78, $49, $6e, $64, $69, $63, $65, $73, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0,
  527.         $d, 0, 0, 0, $4d, $65, $73, $68, $46, $61, $63, $65, $57, $72, $61, $70, $73, $a, 0, $5,
  528.         0, $c0, $c5, $1e, $ed, $a8, $c0, $d0, $11, $94, $1c, 0, $80, $c8, $c, $fa, $7b, $29, 0, $1,
  529.         0, $f, 0, 0, 0, $6e, $46, $61, $63, $65, $57, $72, $61, $70, $56, $61, $6c, $75, $65, $73,
  530.         $14, 0, $34, 0, $1, 0, $9, 0, 0, 0, $42, $6f, $6f, $6c, $65, $61, $6e, $32, $64, $1,
  531.         0, $e, 0, 0, 0, $66, $61, $63, $65, $57, $72, $61, $70, $56, $61, $6c, $75, $65, $73, $e,
  532.         0, $1, 0, $f, 0, 0, 0, $6e, $46, $61, $63, $65, $57, $72, $61, $70, $56, $61, $6c, $75,
  533.         $65, $73, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0, $11, 0, 0, 0, $4d, $65, $73, $68,
  534.         $54, $65, $78, $74, $75, $72, $65, $43, $6f, $6f, $72, $64, $73, $a, 0, $5, 0, $40, $3f, $f2,
  535.         $f6, $86, $76, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $29, 0, $1, 0, $e, 0, 0,
  536.         0, $6e, $54, $65, $78, $74, $75, $72, $65, $43, $6f, $6f, $72, $64, $73, $14, 0, $34, 0, $1,
  537.         0, $8, 0, 0, 0, $43, $6f, $6f, $72, $64, $73, $32, $64, $1, 0, $d, 0, 0, 0, $74,
  538.         $65, $78, $74, $75, $72, $65, $43, $6f, $6f, $72, $64, $73, $e, 0, $1, 0, $e, 0, 0, 0,
  539.         $6e, $54, $65, $78, $74, $75, $72, $65, $43, $6f, $6f, $72, $64, $73, $f, 0, $14, 0, $b, 0,
  540.         $1f, 0, $1, 0, $10, 0, 0, 0, $4d, $65, $73, $68, $4d, $61, $74, $65, $72, $69, $61, $6c,
  541.         $4c, $69, $73, $74, $a, 0, $5, 0, $42, $3f, $f2, $f6, $86, $76, $cf, $11, $8f, $52, 0, $40,
  542.         $33, $35, $94, $a3, $29, 0, $1, 0, $a, 0, 0, 0, $6e, $4d, $61, $74, $65, $72, $69, $61,
  543.         $6c, $73, $14, 0, $29, 0, $1, 0, $c, 0, 0, 0, $6e, $46, $61, $63, $65, $49, $6e, $64,
  544.         $65, $78, $65, $73, $14, 0, $34, 0, $29, 0, $1, 0, $b, 0, 0, 0, $66, $61, $63, $65,
  545.         $49, $6e, $64, $65, $78, $65, $73, $e, 0, $1, 0, $c, 0, 0, 0, $6e, $46, $61, $63, $65,
  546.         $49, $6e, $64, $65, $78, $65, $73, $f, 0, $14, 0, $e, 0, $1, 0, $8, 0, 0, 0, $4d,
  547.         $61, $74, $65, $72, $69, $61, $6c, $f, 0, $b, 0, $1f, 0, $1, 0, $b, 0, 0, 0, $4d,
  548.         $65, $73, $68, $4e, $6f, $72, $6d, $61, $6c, $73, $a, 0, $5, 0, $43, $3f, $f2, $f6, $86, $76,
  549.         $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $29, 0, $1, 0, $8, 0, 0, 0, $6e, $4e,
  550.         $6f, $72, $6d, $61, $6c, $73, $14, 0, $34, 0, $1, 0, $6, 0, 0, 0, $56, $65, $63, $74,
  551.         $6f, $72, $1, 0, $7, 0, 0, 0, $6e, $6f, $72, $6d, $61, $6c, $73, $e, 0, $1, 0, $8,
  552.         0, 0, 0, $6e, $4e, $6f, $72, $6d, $61, $6c, $73, $f, 0, $14, 0, $29, 0, $1, 0, $c,
  553.         0, 0, 0, $6e, $46, $61, $63, $65, $4e, $6f, $72, $6d, $61, $6c, $73, $14, 0, $34, 0, $1,
  554.         0, $8, 0, 0, 0, $4d, $65, $73, $68, $46, $61, $63, $65, $1, 0, $b, 0, 0, 0, $66,
  555.         $61, $63, $65, $4e, $6f, $72, $6d, $61, $6c, $73, $e, 0, $1, 0, $c, 0, 0, 0, $6e, $46,
  556.         $61, $63, $65, $4e, $6f, $72, $6d, $61, $6c, $73, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0,
  557.         $10, 0, 0, 0, $4d, $65, $73, $68, $56, $65, $72, $74, $65, $78, $43, $6f, $6c, $6f, $72, $73,
  558.         $a, 0, $5, 0, $21, $b8, $30, $16, $42, $78, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3,
  559.         $29, 0, $1, 0, $d, 0, 0, 0, $6e, $56, $65, $72, $74, $65, $78, $43, $6f, $6c, $6f, $72,
  560.         $73, $14, 0, $34, 0, $1, 0, $c, 0, 0, 0, $49, $6e, $64, $65, $78, $65, $64, $43, $6f,
  561.         $6c, $6f, $72, $1, 0, $c, 0, 0, 0, $76, $65, $72, $74, $65, $78, $43, $6f, $6c, $6f, $72,
  562.         $73, $e, 0, $1, 0, $d, 0, 0, 0, $6e, $56, $65, $72, $74, $65, $78, $43, $6f, $6c, $6f,
  563.         $72, $73, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0, $4, 0, 0, 0, $4d, $65, $73, $68,
  564.         $a, 0, $5, 0, $44, $ab, $82, $3d, $da, $62, $cf, $11, $ab, $39, 0, $20, $af, $71, $e4, $33,
  565.         $29, 0, $1, 0, $9, 0, 0, 0, $6e, $56, $65, $72, $74, $69, $63, $65, $73, $14, 0, $34,
  566.         0, $1, 0, $6, 0, 0, 0, $56, $65, $63, $74, $6f, $72, $1, 0, $8, 0, 0, 0, $76,
  567.         $65, $72, $74, $69, $63, $65, $73, $e, 0, $1, 0, $9, 0, 0, 0, $6e, $56, $65, $72, $74,
  568.         $69, $63, $65, $73, $f, 0, $14, 0, $29, 0, $1, 0, $6, 0, 0, 0, $6e, $46, $61, $63,
  569.         $65, $73, $14, 0, $34, 0, $1, 0, $8, 0, 0, 0, $4d, $65, $73, $68, $46, $61, $63, $65,
  570.         $1, 0, $5, 0, 0, 0, $66, $61, $63, $65, $73, $e, 0, $1, 0, $6, 0, 0, 0, $6e,
  571.         $46, $61, $63, $65, $73, $f, 0, $14, 0, $e, 0, $12, 0, $12, 0, $12, 0, $f, 0, $b,
  572.         0, $1f, 0, $1, 0, $14, 0, 0, 0, $46, $72, $61, $6d, $65, $54, $72, $61, $6e, $73, $66,
  573.         $6f, $72, $6d, $4d, $61, $74, $72, $69, $78, $a, 0, $5, 0, $41, $3f, $f2, $f6, $86, $76, $cf,
  574.         $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $1, 0, $9, 0, 0, 0, $4d, $61, $74, $72, $69,
  575.         $78, $34, $78, $34, $1, 0, $b, 0, 0, 0, $66, $72, $61, $6d, $65, $4d, $61, $74, $72, $69,
  576.         $78, $14, 0, $b, 0, $1f, 0, $1, 0, $5, 0, 0, 0, $46, $72, $61, $6d, $65, $a, 0,
  577.         $5, 0, $46, $ab, $82, $3d, $da, $62, $cf, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $e, 0,
  578.         $12, 0, $12, 0, $12, 0, $f, 0, $b, 0, $1f, 0, $1, 0, $9, 0, 0, 0, $46, $6c,
  579.         $6f, $61, $74, $4b, $65, $79, $73, $a, 0, $5, 0, $a9, $46, $dd, $10, $5b, $77, $cf, $11, $8f,
  580.         $52, 0, $40, $33, $35, $94, $a3, $29, 0, $1, 0, $7, 0, 0, 0, $6e, $56, $61, $6c, $75,
  581.         $65, $73, $14, 0, $34, 0, $2a, 0, $1, 0, $6, 0, 0, 0, $76, $61, $6c, $75, $65, $73,
  582.         $e, 0, $1, 0, $7, 0, 0, 0, $6e, $56, $61, $6c, $75, $65, $73, $f, 0, $14, 0, $b,
  583.         0, $1f, 0, $1, 0, $e, 0, 0, 0, $54, $69, $6d, $65, $64, $46, $6c, $6f, $61, $74, $4b,
  584.         $65, $79, $73, $a, 0, $5, 0, $80, $b1, $6, $f4, $3b, $7b, $cf, $11, $8f, $52, 0, $40, $33,
  585.         $35, $94, $a3, $29, 0, $1, 0, $4, 0, 0, 0, $74, $69, $6d, $65, $14, 0, $1, 0, $9,
  586.         0, 0, 0, $46, $6c, $6f, $61, $74, $4b, $65, $79, $73, $1, 0, $6, 0, 0, 0, $74, $66,
  587.         $6b, $65, $79, $73, $14, 0, $b, 0, $1f, 0, $1, 0, $c, 0, 0, 0, $41, $6e, $69, $6d,
  588.         $61, $74, $69, $6f, $6e, $4b, $65, $79, $a, 0, $5, 0, $a8, $46, $dd, $10, $5b, $77, $cf, $11,
  589.         $8f, $52, 0, $40, $33, $35, $94, $a3, $29, 0, $1, 0, $7, 0, 0, 0, $6b, $65, $79, $54,
  590.         $79, $70, $65, $14, 0, $29, 0, $1, 0, $5, 0, 0, 0, $6e, $4b, $65, $79, $73, $14, 0,
  591.         $34, 0, $1, 0, $e, 0, 0, 0, $54, $69, $6d, $65, $64, $46, $6c, $6f, $61, $74, $4b, $65,
  592.         $79, $73, $1, 0, $4, 0, 0, 0, $6b, $65, $79, $73, $e, 0, $1, 0, $5, 0, 0, 0,
  593.         $6e, $4b, $65, $79, $73, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0, $10, 0, 0, 0, $41,
  594.         $6e, $69, $6d, $61, $74, $69, $6f, $6e, $4f, $70, $74, $69, $6f, $6e, $73, $a, 0, $5, 0, $c0,
  595.         $56, $bf, $e2, $f, $84, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $29, 0, $1, 0, $a,
  596.         0, 0, 0, $6f, $70, $65, $6e, $63, $6c, $6f, $73, $65, $64, $14, 0, $29, 0, $1, 0, $f,
  597.         0, 0, 0, $70, $6f, $73, $69, $74, $69, $6f, $6e, $71, $75, $61, $6c, $69, $74, $79, $14, 0,
  598.         $b, 0, $1f, 0, $1, 0, $9, 0, 0, 0, $41, $6e, $69, $6d, $61, $74, $69, $6f, $6e, $a,
  599.         0, $5, 0, $4f, $ab, $82, $3d, $da, $62, $cf, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $e,
  600.         0, $12, 0, $12, 0, $12, 0, $f, 0, $b, 0, $1f, 0, $1, 0, $c, 0, 0, 0, $41,
  601.         $6e, $69, $6d, $61, $74, $69, $6f, $6e, $53, $65, $74, $a, 0, $5, 0, $50, $ab, $82, $3d, $da,
  602.         $62, $cf, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $e, 0, $1, 0, $9, 0, 0, 0, $41,
  603.         $6e, $69, $6d, $61, $74, $69, $6f, $6e, $f, 0, $b, 0, $1f, 0, $1, 0, $a, 0, 0, 0,
  604.         $49, $6e, $6c, $69, $6e, $65, $44, $61, $74, $61, $a, 0, $5, 0, $a0, $ee, $23, $3a, $b1, $94,
  605.         $d0, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $e, 0, $1, 0, $6, 0, 0, 0, $42, $49,
  606.         $4e, $41, $52, $59, $f, 0, $b, 0, $1f, 0, $1, 0, $3, 0, 0, 0, $55, $72, $6c, $a,
  607.         0, $5, 0, $a1, $ee, $23, $3a, $b1, $94, $d0, $11, $ab, $39, 0, $20, $af, $71, $e4, $33, $29,
  608.         0, $1, 0, $5, 0, 0, 0, $6e, $55, $72, $6c, $73, $14, 0, $34, 0, $31, 0, $1, 0,
  609.         $4, 0, 0, 0, $75, $72, $6c, $73, $e, 0, $1, 0, $5, 0, 0, 0, $6e, $55, $72, $6c,
  610.         $73, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0, $f, 0, 0, 0, $50, $72, $6f, $67, $72,
  611.         $65, $73, $73, $69, $76, $65, $4d, $65, $73, $68, $a, 0, $5, 0, $60, $c3, $63, $8a, $7d, $99,
  612.         $d0, $11, $94, $1c, 0, $80, $c8, $c, $fa, $7b, $e, 0, $1, 0, $3, 0, 0, 0, $55, $72,
  613.         $6c, $13, 0, $1, 0, $a, 0, 0, 0, $49, $6e, $6c, $69, $6e, $65, $44, $61, $74, $61, $f,
  614.         0, $b, 0, $1f, 0, $1, 0, $4, 0, 0, 0, $47, $75, $69, $64, $a, 0, $5, 0, $e0,
  615.         $90, $27, $a4, $10, $78, $cf, $11, $8f, $52, 0, $40, $33, $35, $94, $a3, $29, 0, $1, 0, $5,
  616.         0, 0, 0, $64, $61, $74, $61, $31, $14, 0, $28, 0, $1, 0, $5, 0, 0, 0, $64, $61,
  617.         $74, $61, $32, $14, 0, $28, 0, $1, 0, $5, 0, 0, 0, $64, $61, $74, $61, $33, $14, 0,
  618.         $34, 0, $2d, 0, $1, 0, $5, 0, 0, 0, $64, $61, $74, $61, $34, $e, 0, $3, 0, $8,
  619.         0, 0, 0, $f, 0, $14, 0, $b, 0, $1f, 0, $1, 0, $e, 0, 0, 0, $53, $74, $72,
  620.         $69, $6e, $67, $50, $72, $6f, $70, $65, $72, $74, $79, $a, 0, $5, 0, $e0, $21, $f, $7f, $e1,
  621.         $bf, $d1, $11, $82, $c0, 0, $a0, $c9, $69, $72, $71, $31, 0, $1, 0, $3, 0, 0, 0, $6b,
  622.         $65, $79, $14, 0, $31, 0, $1, 0, $5, 0, 0, 0, $76, $61, $6c, $75, $65, $14, 0, $b,
  623.         0, $1f, 0, $1, 0, $b, 0, 0, 0, $50, $72, $6f, $70, $65, $72, $74, $79, $42, $61, $67,
  624.         $a, 0, $5, 0, $e1, $21, $f, $7f, $e1, $bf, $d1, $11, $82, $c0, 0, $a0, $c9, $69, $72, $71,
  625.         $e, 0, $1, 0, $e, 0, 0, 0, $53, $74, $72, $69, $6e, $67, $50, $72, $6f, $70, $65, $72,
  626.         $74, $79, $f, 0, $b, 0, $1f, 0, $1, 0, $e, 0, 0, 0, $45, $78, $74, $65, $72, $6e,
  627.         $61, $6c, $56, $69, $73, $75, $61, $6c, $a, 0, $5, 0, $a0, $6a, $11, $98, $ba, $bd, $d1, $11,
  628.         $82, $c0, 0, $a0, $c9, $69, $72, $71, $1, 0, $4, 0, 0, 0, $47, $75, $69, $64, $1, 0,
  629.         $12, 0, 0, 0, $67, $75, $69, $64, $45, $78, $74, $65, $72, $6e, $61, $6c, $56, $69, $73, $75,
  630.         $61, $6c, $14, 0, $e, 0, $12, 0, $12, 0, $12, 0, $f, 0, $b, 0, $1f, 0, $1, 0,
  631.         $b, 0, 0, 0, $52, $69, $67, $68, $74, $48, $61, $6e, $64, $65, $64, $a, 0, $5, 0, $a0,
  632.         $5e, $5d, $7f, $3a, $d5, $d1, $11, $82, $c0, 0, $a0, $c9, $69, $72, $71, $29, 0, $1, 0, $c,
  633.         0, 0, 0, $62, $52, $69, $67, $68, $74, $48, $61, $6e, $64, $65, $64, $14, 0, $b, 0);
  634.  
  635.  
  636.  
  637. implementation
  638.  
  639. // #define MAKE_DDHRESULT( code )  MAKE_HRESULT( 1, _FACDD, code )
  640. function MAKE_DDHRESULT(Code: DWord): DWord;
  641. begin
  642.   Result:= DWord((1 shl 31) or (_FACD3D shl 16)) or Code;
  643. end;
  644.  
  645. (*
  646. {* API for creating IDirectXFile interface.
  647. {*)
  648.  
  649. const
  650.   DXFileDLL = 'D3DXOF.DLL';
  651.  
  652. function DirectXFileCreate; external DXFileDLL;
  653.  
  654. end.
  655.